﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGCOP.CAVTOP.BUSINESSLAYER;

namespace BGCOP.CAVTOP.WINFORMS
{
    public partial class frmMarcaVehiculo : Form
    {
        public frmMarcaVehiculo()
        {
            InitializeComponent();
        }

        private void frmMarcaVehiculo_Load(object sender, EventArgs e)
        {
            llenaLista();
        }
        public void llenaLista()
        {
            MarcasVehiculo tmp = new MarcasVehiculo();
            listBox1.DataSource = tmp.ListarTodos();
            listBox1.DisplayMember = "NombreMarcaVehiculo";
            listBox1.ValueMember = "idMarcaVehiculo";
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            txtMarcaVehiculo.Focus();
            listBox1.SelectedIndex = -1;
            txtMarcaVehiculo.Text = "";
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                MarcasVehiculo tmp = new MarcasVehiculo();
                if (MessageBox.Show("Desea eliminar el registro seleccionado?", Properties.Settings.Default.Titulo,
                MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    tmp.Eliminar( Convert.ToInt32(listBox1.SelectedValue));
                    MessageBox.Show("El registro se elimino con exito!", Properties.Settings.Default.Titulo
                        , MessageBoxButtons.OK);
                    llenaLista();
                }

            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            TMarcaVehiculo tmp = new TMarcaVehiculo();
            tmp.NombreMarcaVehiculo = txtMarcaVehiculo.Text;
            tmp.fechaUltimaGestion = DateTime.Now;
            tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;

            if (listBox1.SelectedIndex == -1)
            {
                //es un nuevo registro

                MarcasVehiculo mm = new MarcasVehiculo();
                mm.Agregar( txtMarcaVehiculo.Text, DateTime.Now, (int)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
                MessageBox.Show("El registro se agrego con exito!", Properties.Settings.Default.Titulo
                    , MessageBoxButtons.OK);
                llenaLista();
            }
            else
            {
                //es un registro existente

                MarcasVehiculo mm = new MarcasVehiculo();
                mm.Modificar(Convert.ToInt32(listBox1.SelectedValue), txtMarcaVehiculo.Text, DateTime.Now, (int)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
                MessageBox.Show("El registro se modificó con exito!", Properties.Settings.Default.Titulo
                   , MessageBoxButtons.OK);
                llenaLista();

            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                return;
            }
            TMarcaVehiculo  tmp = (TMarcaVehiculo)listBox1.SelectedItem;
            txtMarcaVehiculo.Text = tmp.NombreMarcaVehiculo;
        }
    }
}
